{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "np.random.seed(666)\n",
    "x = np.random.uniform(-3, 3, 100)\n",
    "X = x.reshape(-1, 1)\n",
    "y = 0.5 * x ** 2 + x + 2 + np.random.normal(0, 1, size = 100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x110d214a8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(x, y)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(75, 1)"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.metrics import mean_squared_error\n",
    "from sklearn.linear_model import LinearRegression\n",
    "\n",
    "train_score = []\n",
    "test_score = []\n",
    "\n",
    "for i in range(1, 76):\n",
    "    lin_reg = LinearRegression()\n",
    "    lin_reg.fit(X_train[:i], y_train[:i])\n",
    "    y_train_predict = lin_reg.predict(X_train[:i])\n",
    "    train_score.append(mean_squared_error(y_train[:i], y_train_predict))\n",
    "    \n",
    "    y_test_predict = lin_reg.predict(X_test)\n",
    "    test_score.append(mean_squared_error(y_test, y_test_predict))\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1a1ac949e8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot([i for i in range(1, 76)], np.sqrt(train_score), label='train')\n",
    "plt.plot([i for i in range(1, 76)], np.sqrt(test_score), label='test')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "def plot_learning_curve(algo, X_train, X_test, y_train, y_test):\n",
    "    train_score = []\n",
    "    test_score = []\n",
    "\n",
    "    for i in range(1, len(X_train) + 1):\n",
    "        algo.fit(X_train[:i], y_train[:i])\n",
    "        y_train_predict = algo.predict(X_train[:i])\n",
    "        train_score.append(mean_squared_error(y_train[:i], y_train_predict))\n",
    "\n",
    "        y_test_predict = algo.predict(X_test)\n",
    "        test_score.append(mean_squared_error(y_test, y_test_predict))\n",
    "\n",
    "    plt.plot([i for i in range(1, len(X_train) + 1)], np.sqrt(train_score), label='train')\n",
    "    plt.plot([i for i in range(1, len(X_train) + 1)], np.sqrt(test_score), label='test')\n",
    "    plt.legend()\n",
    "    plt.axis([0, len(X_train) + 1, 0, 4])\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x110b15400>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_learning_curve(LinearRegression(), X_train, X_test, y_train, y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.preprocessing import PolynomialFeatures\n",
    "from sklearn.metrics import mean_squared_error\n",
    "from sklearn.pipeline import Pipeline\n",
    "\n",
    "def PolynomialRegression(degree):\n",
    "    return Pipeline([\n",
    "        (\"poly\", PolynomialFeatures(degree=degree)),\n",
    "        (\"std_scaler\", StandardScaler()),\n",
    "        (\"lin_reg\", LinearRegression())\n",
    "    ])\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1a1a68dcc0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ploy_reg2 = PolynomialRegression(degree = 2)\n",
    "plot_learning_curve(ploy_reg2, X_train, X_test, y_train, y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11086ee80>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ploy_reg10 = PolynomialRegression(degree = 10)\n",
    "plot_learning_curve(ploy_reg10, X_train, X_test, y_train, y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
